The above map displays varying drought conditions across the state of New Mexico in late June during the intense Southwest drought which began in 2018. For the vast majority of that year, the USDA drought monitor categorized around 70% of the state as consistently experiencing at least ‘severe drought.’ Unsurprisingly, this drought has had considerable impacts on the state of New Mexico with long-term consequences continuing into 2019. For example, exceedingly dry conditions increased the number of wildfires and also exacerbated water scarcity issues across the state. Specifically in the city of Albuquerque, the drought caused numerous issues with regards to urban water supply, leading to uncertainty around the reliability of reservoirs.
Clearly, extreme events like the recent drought in the southwest have pressing and important implications for the city of Albuquerque and the state of New Mexico. Understanding how such events occur and what factors amplify/facilitate them will be of crucial importance in planning and preparing against the negative impacts of severe drought. Thus, while creating this blog, I was interested in the following question: given the above severity of New Mexico’s ongoing drought, what climatic trends in temperature facilitated and amplified the observed extreme weather behavior?
In order to reduce the scope of my analysis, I decided to strictly look at temperature trends within the city of Albuquerque. The station at Albuquerque International Airport provided all the raw data analyzed and presented in the section below.
In order to analyze temperature trends, I initially created 12 sets of data (January, February, March, etc.), each looking at the monthly averages of Albuquerque minimum temperatures. I then plotted the data from 1931 to 2019 and then added a best fit line for each plot:
Note each best fit line has a clear positive (or increasing) slope. To determine whether these positive trends are statistically significant (i.e. fit the data well), statisticians look at a measure known as the ‘p-value.’ Essentially, p-values indicate the probability of a certain observed result occuring. So, the lower the p-value, the higher the significance of a result. There are a lot of calculations that go into finding this p-value, but if it is less than 0.05, then statisticians consider the corresponding result to be statistically significant.
In the above 12 graphs for Albuquerque minimum temperatures, each best fit line had p-values less than 0.05. This means our positive trend lines fit the data really well! Hence, we have strong evidence that the monthly averages for Albuquerque minimum temperatures have been steadily increasing since 1931 for all 12 months.
Many climate skeptics forward the argument that measurements from places like Albuquerque International Airport are unreliable due to a phenomenon called the ‘urban heat island effect.’ To an extent, the skeptics aren’t wrong in that urban areas tend to produce more heat than surrounding rural or unpopulated regions. However, scientists account for this disparity by removing the effect through a process known as ‘homogenization.’ Simply put, homogenization compares data from urban stations to surrounding stations in order to make appropriate adjustments for proper climate measurement.
Illustration of Urban Heat Island Effect
Unfortunately, some climate skeptics have accused even these adjustments of containing an additional ‘warm’ bias. However, thorough studies on the reliability of the U.S. surface temperature recor, indicate that such adjustments are both appropriate and necessary. Furthermore, they suggest any potential ‘warm’ biases towards daily minimum temperatures are essentially negligible. In light of these studies along with the increasing trends observed in our above data analysis, there should be no doubt that Albuquerque is indeed warming.
There are two main reasons that rising temperatures in Albuquerque could potentially amplify/facilitate severe drought:
1) Mountain snowpack- Flow in the Rio Grande river is one of the best indicators of drought for New Mexico. This is because runoff into the Rio Grande directly relates to snowpack in the Jemez mountains, a crucial source for New Mexico’s water supply. The Jemez mountains will have similar climatic trends to Albuquerque International Airport, even if the trends are shifted downward due to altitude. In other words, we expect the Jemez mountains to exhibit warming. Higher winter temperatures in the mountains precipitate more rain than snow, decreasing snowpack. In addition, higher spring temperatures melt snowpack earlier, ultimately extending the duration and intensity of summer drought.
Snowpack in Northern New Mexico
Illustration of Evapotranspiration
Interestingly, when looking at monthly averages of Albuquerque maximum temperatures, only the month of March had p-values less than 0.05 (hence it was the only month statistically significant):
Above is a plot of Albuquerque maximum temperatures overlayed with a best fit line.
Lets look at some of the results for this regression:
##
## Call:
## lm(formula = TMAX ~ DATES, data = climate_data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -35.689 -8.106 0.825 8.728 20.295
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.128e+01 5.608e-02 379.530 <2e-16 ***
## DATES 1.356e-05 5.931e-06 2.287 0.0222 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 9.85 on 32105 degrees of freedom
## (1 observation deleted due to missingness)
## Multiple R-squared: 0.0001629, Adjusted R-squared: 0.0001317
## F-statistic: 5.23 on 1 and 32105 DF, p-value: 0.02221
Note the p-value for the y-intercept is 2x10^-6 and the p-value for the slope of the line is .02. Both of these values are less than .05. In other words, we can say with 95% confidence that our temperature is increasing at a rate of 1.356x10^-5 degrees C per year and has an intercept of 21.28 degrees C.
Let’s go ahead and clean up our original graph by looking at monthly averages one month at a time.
Ok cool. Let’s do the same thing except for TMIN data now instead.
Lets look at some of the results for this regression:
##
## Call:
## lm(formula = TMIN ~ DATES, data = climate_data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -33.630 -7.494 -0.223 8.325 18.334
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 6.404e+00 5.044e-02 126.97 <2e-16 ***
## DATES 7.037e-05 5.334e-06 13.19 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 8.859 on 32105 degrees of freedom
## (1 observation deleted due to missingness)
## Multiple R-squared: 0.005392, Adjusted R-squared: 0.005361
## F-statistic: 174 on 1 and 32105 DF, p-value: < 2.2e-16
[SOME ANALYSIS] Let’s go ahead and clean up our original graph by looking at monthly averages one month at a time.
Ok lets take a break from all this temprature stuff and look at precipitation instead.
##
## Call:
## lm(formula = PRCP ~ DATES, data = climate_data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.628 -0.614 -0.600 -0.586 48.205
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 6.021e-01 1.420e-02 42.410 <2e-16 ***
## DATES 1.451e-06 1.502e-06 0.966 0.334
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.494 on 32105 degrees of freedom
## (1 observation deleted due to missingness)
## Multiple R-squared: 2.907e-05, Adjusted R-squared: -2.077e-06
## F-statistic: 0.9333 on 1 and 32105 DF, p-value: 0.334
[SOME ANALYSIS] Let’s go ahead and clean up our original graph by looking at monthly averages one month at a time.
##
## Call:
## lm(formula = PRCP ~ YEAR, data = MonthlyPRCPMean[MonthlyPRCPMean$MONTH ==
## i, ])
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.32870 -0.22164 -0.07728 0.15257 0.80618
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.2588363 2.3338247 -0.111 0.912
## YEAR 0.0002917 0.0011813 0.247 0.806
##
## Residual standard error: 0.2815 on 86 degrees of freedom
## Multiple R-squared: 0.0007087, Adjusted R-squared: -0.01091
## F-statistic: 0.06099 on 1 and 86 DF, p-value: 0.8055
##
## Call:
## lm(formula = PRCP ~ YEAR, data = MonthlyPRCPMean[MonthlyPRCPMean$MONTH ==
## i, ])
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.41037 -0.21722 -0.07784 0.13403 1.26236
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -2.444710 2.795373 -0.875 0.384
## YEAR 0.001421 0.001415 1.004 0.318
##
## Residual standard error: 0.3315 on 85 degrees of freedom
## Multiple R-squared: 0.01172, Adjusted R-squared: 9.686e-05
## F-statistic: 1.008 on 1 and 85 DF, p-value: 0.3182
##
## Call:
## lm(formula = PRCP ~ YEAR, data = MonthlyPRCPMean[MonthlyPRCPMean$MONTH ==
## i, ])
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.40001 -0.27495 -0.05395 0.12151 1.52118
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.1674930 3.1514270 -0.053 0.958
## YEAR 0.0002815 0.0015959 0.176 0.860
##
## Residual standard error: 0.3803 on 86 degrees of freedom
## Multiple R-squared: 0.0003616, Adjusted R-squared: -0.01126
## F-statistic: 0.03111 on 1 and 86 DF, p-value: 0.8604
##
## Call:
## lm(formula = PRCP ~ YEAR, data = MonthlyPRCPMean[MonthlyPRCPMean$MONTH ==
## i, ])
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.4430 -0.3746 -0.1303 0.1628 2.1182
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.140537 4.114377 0.277 0.782
## YEAR -0.000357 0.002084 -0.171 0.864
##
## Residual standard error: 0.4965 on 86 degrees of freedom
## Multiple R-squared: 0.0003412, Adjusted R-squared: -0.01128
## F-statistic: 0.02935 on 1 and 86 DF, p-value: 0.8644
##
## Call:
## lm(formula = PRCP ~ YEAR, data = MonthlyPRCPMean[MonthlyPRCPMean$MONTH ==
## i, ])
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.5895 -0.3430 -0.1631 0.1220 1.9195
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 8.174908 4.381272 1.866 0.0655 .
## YEAR -0.003906 0.002219 -1.760 0.0819 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5287 on 86 degrees of freedom
## Multiple R-squared: 0.03478, Adjusted R-squared: 0.02356
## F-statistic: 3.099 on 1 and 86 DF, p-value: 0.08189
##
## Call:
## lm(formula = PRCP ~ YEAR, data = MonthlyPRCPMean[MonthlyPRCPMean$MONTH ==
## i, ])
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.6167 -0.3914 -0.1864 0.2100 2.5908
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 5.730782 4.721300 1.214 0.228
## YEAR -0.002637 0.002391 -1.103 0.273
##
## Residual standard error: 0.5697 on 86 degrees of freedom
## Multiple R-squared: 0.01395, Adjusted R-squared: 0.002487
## F-statistic: 1.217 on 1 and 86 DF, p-value: 0.2731
##
## Call:
## lm(formula = PRCP ~ YEAR, data = MonthlyPRCPMean[MonthlyPRCPMean$MONTH ==
## i, ])
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.12039 -0.54223 -0.09456 0.46470 1.60949
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -9.596604 5.663067 -1.695 0.0938 .
## YEAR 0.005447 0.002868 1.899 0.0609 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.6834 on 86 degrees of freedom
## Multiple R-squared: 0.04026, Adjusted R-squared: 0.0291
## F-statistic: 3.607 on 1 and 86 DF, p-value: 0.06088
##
## Call:
## lm(formula = PRCP ~ YEAR, data = MonthlyPRCPMean[MonthlyPRCPMean$MONTH ==
## i, ])
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.2007 -0.5919 -0.1190 0.5910 1.8927
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.4929329 6.3526572 0.392 0.696
## YEAR -0.0006586 0.0032171 -0.205 0.838
##
## Residual standard error: 0.7666 on 86 degrees of freedom
## Multiple R-squared: 0.0004871, Adjusted R-squared: -0.01114
## F-statistic: 0.04191 on 1 and 86 DF, p-value: 0.8383
##
## Call:
## lm(formula = PRCP ~ YEAR, data = MonthlyPRCPMean[MonthlyPRCPMean$MONTH ==
## i, ])
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.8806 -0.4796 -0.1026 0.2953 2.4001
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -2.773380 5.067820 -0.547 0.586
## YEAR 0.001855 0.002566 0.723 0.472
##
## Residual standard error: 0.6116 on 86 degrees of freedom
## Multiple R-squared: 0.006035, Adjusted R-squared: -0.005522
## F-statistic: 0.5222 on 1 and 86 DF, p-value: 0.4719
##
## Call:
## lm(formula = PRCP ~ YEAR, data = MonthlyPRCPMean[MonthlyPRCPMean$MONTH ==
## i, ])
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.8059 -0.4904 -0.2181 0.3535 1.8356
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -5.015153 5.398149 -0.929 0.355
## YEAR 0.002893 0.002734 1.058 0.293
##
## Residual standard error: 0.6514 on 86 degrees of freedom
## Multiple R-squared: 0.01286, Adjusted R-squared: 0.001378
## F-statistic: 1.12 on 1 and 86 DF, p-value: 0.2929
##
## Call:
## lm(formula = PRCP ~ YEAR, data = MonthlyPRCPMean[MonthlyPRCPMean$MONTH ==
## i, ])
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.41004 -0.31896 -0.07345 0.20705 1.23717
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.6268229 3.1019411 -0.202 0.840
## YEAR 0.0005138 0.0015709 0.327 0.744
##
## Residual standard error: 0.3743 on 86 degrees of freedom
## Multiple R-squared: 0.001242, Adjusted R-squared: -0.01037
## F-statistic: 0.107 on 1 and 86 DF, p-value: 0.7444
##
## Call:
## lm(formula = PRCP ~ YEAR, data = MonthlyPRCPMean[MonthlyPRCPMean$MONTH ==
## i, ])
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.47023 -0.28094 -0.08435 0.22301 1.12223
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -2.184282 2.996524 -0.729 0.468
## YEAR 0.001316 0.001517 0.867 0.388
##
## Residual standard error: 0.3616 on 86 degrees of freedom
## Multiple R-squared: 0.00867, Adjusted R-squared: -0.002857
## F-statistic: 0.7522 on 1 and 86 DF, p-value: 0.3882
Sources to look at: https://onlinelibrary.wiley.com/doi/full/10.1002/eco.1849 http://adsabs.harvard.edu/abs/2016AGUFMGC32C..04S https://onlinelibrary.wiley.com/doi/full/10.1111/gcb.12743 https://www.sciencedirect.com/science/article/pii/S0190052816300323 https://bioone.org/journals/Rangelands/volume-30/issue-3/1551-501X(2008)30[23:CCAEOT]2.0.CO;2/Climate-Change-and-Ecosystems-of-the-Southwestern-United-States/10.2111/1551-501X(2008)30[23:CCAEOT]2.0.CO;2.full https://agupubs.onlinelibrary.wiley.com/doi/full/10.1029/2008GL035075